package com.huifer.wgx.service;

import com.huifer.wgx.model.TaskEntity;
import java.sql.Timestamp;
import org.springframework.data.domain.Page;

/**
 * <p>Title : TaskService </p>
 * <p>Description : TaskService </p>
 *
 * @author huifer
 * @date 2019-03-19
 */
public interface TaskService {

    /**
     * 创建任务
     *
     * @param title 任务标题
     * @param note 任务内容
     * @param assignName 发放任务人员的名称
     * @return 任务
     */
    TaskEntity saveTask(String title, String note, String assignName);

    /**
     * 接受任务
     *
     * @param assignName 发放任务人员的名称
     * @param startTime 任务开始时间
     * @param doName 接收任务人员的名称
     * @return 任务
     */
    TaskEntity updateDoTaks(String assignName, Timestamp startTime, String doName);

    /**
     * 完成任务
     *
     * @param assignName 发放任务人员的名称
     * @param startTime 任务开始时间
     * @param doName 接收任务人员的名称
     * @param endTime 完成时间
     * @return 任务
     */
    TaskEntity updateEndTask(String assignName, Timestamp startTime, String doName,
            Timestamp endTime);


    /**
     * 查询所有
     *
     * @param pageNum 页面号
     * @param pageSize 页面大小
     * @return 任务列表
     */
    Page<TaskEntity> findAll(Integer pageNum, Integer pageSize);


}
